package main

import (
	"gorm.io/driver/mysql"
	"gorm.io/gorm"
)

// 1.定义模型
type User struct {
	gorm.Model //ID CreateAt UpdateAt DeleteAt
	Name       string
	Age        int64
	Active     bool
}

func main() {
	//连接MYSQL数据库
	dsn := "root:flm@(127.0.0.1:3306)/db1?charset=utf8mb4&parseTime=True&loc=Local"
	db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
	if err != nil {
		panic(err)
	}

	// 2.把模型与数据库中的表对应起来
	db.AutoMigrate(&User{})

	// 3.创建
	// u1 := User{Name: "flm1", Age: 18, Active: true}
	// db.Create(&u1)
	// u2 := User{Name: "flm2", Age: 20, Active: false}
	// db.Create(&u2)

	// 4.删除
	// var u = User{}
	// u.ID = 1              //删除以主键作为索引(有delete_at字段的会被软删除)
	// db.Debug().Delete(&u) //查询记录会忽略被软删除的记录

	//批量删除
	db.Where("name=?", "flm1").Delete(&User{})

}
